// Book Model
// Author: Xiao Jia
// Date: 2010/12/03

#pragma once

#include "Date.h"

class Kind;
class Reader;

class Book
{
public:
	Book();
	virtual ~Book();
	
	Kind &getKind() const;
	void setKind(Kind const &);
	
	Reader *getReader() const;
	void setReader(Reader const *);
	
	Date getBorrowedDate() const;
	
	/**
	 *	Return whether this book is available to borrow or not.
	 *	Return true if this book is available, false otherwise.
	 */
	bool isAvailable() const;
	
	/**
	 *	Return whether this book has been lent out or not.
	 *	Return true if this book has been lent out, false otherwise.
	 */
	bool isLentOut() const;
	
	// TODO: add whatever you need
};
